![]() ![]() Культ добра и
программное обеспечение
Культ добра Во Вторую мировую американцы развернули на одном из тихоокеанских островов базу. Туземцы с интересом наблюдали, как на построенный гостями аэродром приземлялись самолеты, из которых выгружали ящики и тюки с продовольствием, одеждой и прочим добром, из которого кое-что перепадало и им — как плата за гостеприимство или просто по доброте душевной, которой славится американская армия.
Можно гадать, были ли туземцы мирными или воинственными, можно пофантазировать, чем бы закончилась попытка получить добро добром от железной птицы, если бы она, сбившись с пути или испытывая технические неполадки, все же села на «аэродром», приняв его за настоящий. Впрочем, мораль пересказанной истории (очень любимой теоретиками и практиками системного проектирования) не в этом, а в том, что в ней выражена суть «провинциализма». «Провинциал» вовсе не обязательно туп, ленив и нелюбопытен. Напротив, очень часто он сообразителен, трудолюбив, и глаза его широко и искренне распахнуты навстречу новому. Он даже не обязательно беден. Но цивилизация, на задворках которой он очутился, является ему в виде абстрактных, фрагментарных организованностей («вещей») систем, целостность, конкретная полнота которых ему неведома. Манчжурские охотники, покупавшие у русского купца граммофонные трубы, вовсе не были глупы. Просто они не воспринимали полноту технической системы, в рамках которой труба только и способна выполнять свою функцию: издавать звуки. Североамериканские индейцы, продававшие за горсть бижутерии земли и стада, тоже не были детьми, но им была неизвестна система, в рамках которой вещи получают свою цену и которая в основном и отличает литую стекляшку от так похожего на нее ограненного алмаза. Мне кажется, это дает ключ к теме «провинциализма» бытования ИТ в госорганах, поднятой Павлом Протасовым (см. статью «Снизу», сс. 24–26). Рубеж «провинции» проходит не по кольцевой дороге и не по государственной границе, а по пониманию того, как устроена ИТ-цивилизация. Программное обеспечение Типичным примером провинциализма является сведение чрезвычайно сложного процесса программного обеспечения к совокупности используемых в данный момент программ (отсюда ходячие выражения типа «диск с программным обеспечением»). Возникают псевдосущности типа «платные программы», «бесплатные программы» и тому подобные призраки провинциального сознания. Понять здесь ничего нельзя, не выходя за границы провинциализма, обозначенные выше. Вместе с тем конкретная программа, взятая в конкретный момент времени (то есть в определенной своей версии), да еще зачастую в превращенной форме (в виде исполняемого кода, пригодного к запуску, но не пригодного для исправления ошибок и дополнений), — лишь тень программного обеспечения. И очень часто — тень призрачная, неверная; например, трудно сказать, что в ПО попадает программа, реально не применяемая, либо не отдокументированная, либо не описанная в литературе, либо с утраченными исходниками (посмотрите, как меняется цена на лицензионные экземпляры программ в магазине после банкротства их разработчика. Это рациональная немедленная реакция рынка на повышение неопределенности в судьбе разработки, относящейся к ее будущим версиям). Качество исполняемого кода вполне поддается измерению — если не научными, то эмпирическими методами. Однако качество ПО не сводится к качеству программ в их текущем состоянии; например, программа с пятью ошибками, не поддающимися исправлению, вполне может оказаться хуже, чем программа с десятью ошибками, которые могут быть исправлены. Переносимая (не зависящая от особенности конкретной ОС или конкретной аппаратной архитектуры) программа, даже с меньшей функциональностью или слабой эргономикой, может быть лучше, чем более функциональная и эргономичная, но тянущая за собой устаревающее окружение с соответствующими издержками. И т. п. Свобода ПО дает ключ к измерению качества ПО как такового, не всегда предлагая «здесь и теперь» более качественные (безошибочные, функциональные, эргономичные) программы. Релизы популярных дистрибутивов предлагают единовременный «срез» процесса, который, конечно, к своему моментальному состоянию не сводится. Свобода ПО — это не просто свобода изучения, модификации и применения отдельных программ, но и свобода понимания того, как та или иная база кода реально развивается (кто принимает участие в разработке, с какой степенью вовлеченности, как осуществляется управление процессом, быстро ли исправляются найденные ошибки, во что обходятся функциональные или эргономические новшества и т. п.). Так что и относиться к дистрибутиву нужно соответствующим образом: как к окну в программное обеспечение, а не как к «программному обеспечению». К сожалению, Протасов, видимо, в процессе написания статьи так идентифицировался со своим лирическим героем-«чайником», что получить какие-либо конкретные пояснения к его претензиям к свободному софту я так и не смог. Например, узнать, вид и качество кернинга каких именно свободных шрифтов его не устраивает. Или понять, в чем смысл сравнения двух весьма разных классов программ — текстовых редакторов и словарных процессоров, и какое отношение это имеет к модели лицензирования и разработки (вроде бы, понятно, что текстовый редактор написать проще, поэтому их и больше на порядок, чем словарных процессоров, как свободных, так и несвободных, так и тех и других вместе взятых). Или, если уж анализ опускается до столь малоаппетитных подробностей, как унаследованные приложения «Клиппер», — почему нельзя пользоваться для их поддержки тем же свободным «Клипом» (http://www.itk/. ru/clip/clipchangelog.shtml). АРМы и «ПК» Поднятый вопрос о соотношении идеологий автоматизированных рабочих мест (АРМ, по-английски workstation, кстати) и идеологии персональных компьютеров решается, как мне кажется просто. За очень редкими исключениями, если нужно, чтобы на том или ином месте действительно выполнялись работы, его нужно автоматизировать, а не ставить на стол ПК. Цена вопроса — это цена содержания технолога-программиста. Технолог-программист не обязан вести масштабные проекты на «хардкорных» языках и даже владеть всеми тонкостями техники по Кнуту. Он может быть квалифицированным администратором, умеющим сценировать (скриптовать) рутинно выполняемые бизнес-процедуры на языке запросов к БД и языке оболочки ОС. Но он обязан понимать специфику предметной прикладной области (допустим, если автоматизируется работа секретарей и бухгалтеров, он должен понимать, что такое документооборот) и, более того, специфику конкретной организации.
МАТЕРИАЛЫ ПО ТЕМЕ
![]() |